A large number of microprocessor systems are presently available. More recently, microprocessor systems utilizing bidirectional data buses have become available. A variety of digital circuits have been utilized to form the interface between such bidirectional data buses and the various peripheral devices controlled by and interacting with the microprocessor in the system. A particular category of peripheral devices incorporated in such systems are control and data storage devices which normally require the interchange of long serial blocks of data. In order to achieve maximum efficiency in such serial data transmission, synchronous transfer methods are often employed. In synchronous transmission, special characters or codes are transmitted and received as a preamble to a data message comprising a continuous stream of data characters with no delineation indicating the end of one character and the beginning of the next.
The overall area of application of serial synchronous data transmission can be generally divided into three subcategories;
1. Process control or numeric control applications within a local facility where a device in control by a microprocessor has a need to transmit or receive a stream of serial data. The most efficient way to accomplish this data transfer is to transmit and receive a long block of continuous characters. Typically this type of application makes use of signals transmitted over separate control channels to synchronize the transfer of the block of continuous characters.
2. Standard data communications involving transmission and reception over a MODEM (modulator-demodulator) arrangement which might be coupled to a telephone line. In this application dedicated lines or channels for control signals are impractical and synchronous transmission makes use of synchronization codes in the data stream to notify the destination of the data that a serial block of continuous characters is about to be transmitted.
3. Serial peripheral memory units such as tapes, disks or cassettes which have a relatively higher speed data transfer requirement. This category is a hybrid of (1) and (2) above in that it represents a data requirement within a local environment, for example, within a computer facility but it does not use special control lines per se to signal when blocks of data are being transmitted or received. Instead, these systems revert to the use of synchronization codes transmitted as a preamble to the actual block of data characters in order to synchronize the transmission data.